The Fibonacci sequence is defined by the recurrence relation:
Fn = Fn−1 + Fn−2, where F1 = 1 and F2 = 1.
Hence the first 12 terms will be:
F1 = 1 F2 = 1 F3 = 2 F4 = 3 F5 = 5 F6 = 8 F7 = 13 F8 = 21 F9 = 34 F10 = 55 F11 = 89 F12 = 144
The 12th term, F12, is the first term to contain three digits.
What is the first term in the Fibonacci sequence to contain 1000 digits?
In [1]:
def fibonacci(n)
if n < 2
return n;
else
p2 = 0;
p1 = 1;
2.upto(n){ p2 , p1 = p1 , p2 + p1 }
return p1;
end
end
In [18]:
fibonacci(4782).to_s.length
Out[18]:
In [ ]: